package others;

public class TestOffer05 {
    /**
     * 剑指 Offer 05. 替换空格
     * 输入：s = "We are happy."
     * 输出："We%20are%20happy."
     * <p>
     * <p>
     * 剑指 Offer 16. 数值的整数次方
     * 输入：x = 2.00000, n = 10
     * 输出：1024.00000
     */
    //去空格
    public static String replaceSpace(String s) {
        String replace = s.replace(" ", "%20");
        return replace;
    }

    //实现pwd 难点在于移位运算 正常暴力循环思路过不了全部测试用例
    public double myPow(double x, int n) {
        if(x == 0){return 0;}
        long b = n;
        double res = 1.0;
        if(b < 0) {
            x = 1 / x;
            b = -b;
        }
        while(b > 0){
            // 最后一位为1，需要乘上该位上的权重
            if((b & 1) == 1){
                res *= x;
            }
            x *= x;
            b >>= 1;
        }
        return res;
    }


    public static void main(String[] args) {
//
        System.out.println(3>>5);

        //         128 64 32 16   8 4 2 1  对应的
        //二进制 3： 0   0  0  0    0 0 1 1  ---3  向左移动5位置
        //    0110  0000

    }
}
